var ZYRequestClient = require("../../../../utils/zy-request");
var requestClient;
const app = getApp()
Page({
  data: {
    // 滚动容器的高度
    scrollViewHeight:600,
    // 盖章类型，0：审批用印，1：无审批用印
    stampType:0,
    // 盖章记录
    stampRecordList:[],
    navbarData:{
      showCapsule: 1, //是否显示左上角图标   1表示显示    0表示不显示
      title: '盖章记录', //导航栏 中间的标题
      white:true
     },
     // 导航头的高度
     height: app.globalData.height * 2 + 20
  },
  onLoad() {
    requestClient = new ZYRequestClient();
    this.setScrollViewHeight();
  },
  onShow(){
    var _this = this;
    // 赋值查询参数
    var stampParams = wx.getStorageSync('statisticsStampParams');
    _this.setData({
      stampParams:stampParams,
    });
    _this.setData({
      'stampParams.stampType':_this.data.stampType,
    });
    _this.loadStampRecord(false);
  },
  // 设置滚动容器的高度
  setScrollViewHeight:function(){
    var _this = this;
    // 获取系统信息得到屏幕高度
    wx.getSystemInfo({
      success: function (res) {
        let clientHeight = res.windowHeight;
          _this.setData({
            scrollViewHeight:clientHeight - _this.data.height
          });
      }
    });
  },
  // 加载盖章记录
  loadStampRecord(append){
    var _this = this;
    if(append){
      wx.showLoading({
        title: '加载更多',
        mask:true
      })
    } else {
      wx.showLoading({
        title: '刷新数据',
        mask:true
      })
    }
    requestClient.getStampRecord(_this.data.stampParams,function(res){
      wx.hideLoading({
        success: (res) => {},
      })
      if(res.data.data){
        if(append){
          var stampRecordList = _this.data.stampRecordList.concat(res.data.data);
          _this.setData({
            stampRecordList:stampRecordList
          });
        } else {
          _this.setData({
            stampRecordList:res.data.data
          });
        }
      }
    })
  },
  // 选择盖章类型
  bindStampType(e){
    this.setData({
      stampType: parseInt(e.currentTarget.dataset.num),
      'stampParams.stampType':parseInt(e.currentTarget.dataset.num)
    });
    this.loadStampRecord(false);
  },
  // 盖章记录上拉刷新
  refreshStampRecordList(e){
    var _this = this;
    _this.setData({
      'stampParams.pageNo':0
    });
    _this.loadStampRecord(false);
  },
  // 盖章记录下拉加载更多数据
  loadMoreStampRecordList(e){
    var _this = this;
    var pageNo = _this.data.stampParams.pageNo;
    pageNo ++;
    _this.setData({
      'stampParams.pageNo':pageNo
    });
    _this.loadStampRecord(true);
  },
  // 查看用印记录详情
  bindStampRecordClick(e){
    var stamprecord = e.currentTarget.dataset.stamprecord;
    // 跳转到盖章记录详情页面
    wx.navigateTo({
      url: '../stamprecorddetail/index?stampRecordId=' + stamprecord.id + '&applyId=' + stamprecord.applyId,
    })
  },
  // 导出盖章记录
  bindExportRecord(e){
    var _this = this;
    wx.showModal({
      title:'导出盖章记录',
      content:'您确定要导出查询到的盖章记录吗？',
      success(r){
        if(r.confirm){
          wx.showLoading({
            title: '正在导出...',
          })
          requestClient.exportStampRecord(_this.data.stampParams,function(res){
            wx.hideLoading({
              success: (res) => {},
            })
            const fs = wx.getFileSystemManager();
            fs.writeFile({
              filePath: wx.env.USER_DATA_PATH + "/盖章记录.xls", // wx.env.USER_DATA_PATH 指定临时文件存入的路径，后面字符串自定义
              data: res.data,
              encoding: "binary", //二进制流文件必须是 binary
              success (res){
                wx.openDocument({ // 打开文档
                  filePath: wx.env.USER_DATA_PATH + "/盖章记录.xls",  //拿上面存入的文件路径
                  showMenu: true, // 显示右上角菜单
                  success: function (res) {
                    setTimeout(()=>{wx.hideLoading()},500)
                  }
                })
              }
            })
          });
        }
      }
    })
  }
})